﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000B0B RID: 2827
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class MemberInfo : IMessage<MemberInfo>, IMessage, IEquatable<MemberInfo>, IDeepCloneable<MemberInfo>, IBufferMessage
	{
		// Token: 0x170023BC RID: 9148
		// (get) Token: 0x06007EA9 RID: 32425 RVA: 0x001521E7 File Offset: 0x001503E7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<MemberInfo> Parser
		{
			get
			{
				return MemberInfo._parser;
			}
		}

		// Token: 0x170023BD RID: 9149
		// (get) Token: 0x06007EAA RID: 32426 RVA: 0x001521EE File Offset: 0x001503EE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MemberInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170023BE RID: 9150
		// (get) Token: 0x06007EAB RID: 32427 RVA: 0x00152200 File Offset: 0x00150400
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return MemberInfo.Descriptor;
			}
		}

		// Token: 0x06007EAC RID: 32428 RVA: 0x00152207 File Offset: 0x00150407
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MemberInfo()
		{
		}

		// Token: 0x06007EAD RID: 32429 RVA: 0x00152210 File Offset: 0x00150410
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MemberInfo(MemberInfo other) : this()
		{
			this.basicInfo_ = ((other.basicInfo_ != null) ? other.basicInfo_.Clone() : null);
			this.statusInfo_ = ((other.statusInfo_ != null) ? other.statusInfo_.Clone() : null);
			this.stageInfo_ = ((other.stageInfo_ != null) ? other.stageInfo_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06007EAE RID: 32430 RVA: 0x00152288 File Offset: 0x00150488
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MemberInfo Clone()
		{
			return new MemberInfo(this);
		}

		// Token: 0x170023BF RID: 9151
		// (get) Token: 0x06007EAF RID: 32431 RVA: 0x00152290 File Offset: 0x00150490
		// (set) Token: 0x06007EB0 RID: 32432 RVA: 0x00152298 File Offset: 0x00150498
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MemberData BasicInfo
		{
			get
			{
				return this.basicInfo_;
			}
			set
			{
				this.basicInfo_ = value;
			}
		}

		// Token: 0x170023C0 RID: 9152
		// (get) Token: 0x06007EB1 RID: 32433 RVA: 0x001522A1 File Offset: 0x001504A1
		// (set) Token: 0x06007EB2 RID: 32434 RVA: 0x001522A9 File Offset: 0x001504A9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PlayerStatusInfo StatusInfo
		{
			get
			{
				return this.statusInfo_;
			}
			set
			{
				this.statusInfo_ = value;
			}
		}

		// Token: 0x170023C1 RID: 9153
		// (get) Token: 0x06007EB3 RID: 32435 RVA: 0x001522B2 File Offset: 0x001504B2
		// (set) Token: 0x06007EB4 RID: 32436 RVA: 0x001522BA File Offset: 0x001504BA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PlayerExtraInfo StageInfo
		{
			get
			{
				return this.stageInfo_;
			}
			set
			{
				this.stageInfo_ = value;
			}
		}

		// Token: 0x06007EB5 RID: 32437 RVA: 0x001522C3 File Offset: 0x001504C3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as MemberInfo);
		}

		// Token: 0x06007EB6 RID: 32438 RVA: 0x001522D4 File Offset: 0x001504D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(MemberInfo other)
		{
			return other != null && (other == this || (object.Equals(this.BasicInfo, other.BasicInfo) && object.Equals(this.StatusInfo, other.StatusInfo) && object.Equals(this.StageInfo, other.StageInfo) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06007EB7 RID: 32439 RVA: 0x0015233C File Offset: 0x0015053C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.basicInfo_ != null)
			{
				num ^= this.BasicInfo.GetHashCode();
			}
			if (this.statusInfo_ != null)
			{
				num ^= this.StatusInfo.GetHashCode();
			}
			if (this.stageInfo_ != null)
			{
				num ^= this.StageInfo.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06007EB8 RID: 32440 RVA: 0x001523A4 File Offset: 0x001505A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06007EB9 RID: 32441 RVA: 0x001523AC File Offset: 0x001505AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06007EBA RID: 32442 RVA: 0x001523B8 File Offset: 0x001505B8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.basicInfo_ != null)
			{
				output.WriteRawTag(10);
				output.WriteMessage(this.BasicInfo);
			}
			if (this.statusInfo_ != null)
			{
				output.WriteRawTag(18);
				output.WriteMessage(this.StatusInfo);
			}
			if (this.stageInfo_ != null)
			{
				output.WriteRawTag(26);
				output.WriteMessage(this.StageInfo);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06007EBB RID: 32443 RVA: 0x00152430 File Offset: 0x00150630
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.basicInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.BasicInfo);
			}
			if (this.statusInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.StatusInfo);
			}
			if (this.stageInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.StageInfo);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06007EBC RID: 32444 RVA: 0x001524A0 File Offset: 0x001506A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(MemberInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.basicInfo_ != null)
			{
				if (this.basicInfo_ == null)
				{
					this.BasicInfo = new MemberData();
				}
				this.BasicInfo.MergeFrom(other.BasicInfo);
			}
			if (other.statusInfo_ != null)
			{
				if (this.statusInfo_ == null)
				{
					this.StatusInfo = new PlayerStatusInfo();
				}
				this.StatusInfo.MergeFrom(other.StatusInfo);
			}
			if (other.stageInfo_ != null)
			{
				if (this.stageInfo_ == null)
				{
					this.StageInfo = new PlayerExtraInfo();
				}
				this.StageInfo.MergeFrom(other.StageInfo);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06007EBD RID: 32445 RVA: 0x0015254C File Offset: 0x0015074C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06007EBE RID: 32446 RVA: 0x00152558 File Offset: 0x00150758
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 10U)
				{
					if (num != 18U)
					{
						if (num != 26U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							if (this.stageInfo_ == null)
							{
								this.StageInfo = new PlayerExtraInfo();
							}
							input.ReadMessage(this.StageInfo);
						}
					}
					else
					{
						if (this.statusInfo_ == null)
						{
							this.StatusInfo = new PlayerStatusInfo();
						}
						input.ReadMessage(this.StatusInfo);
					}
				}
				else
				{
					if (this.basicInfo_ == null)
					{
						this.BasicInfo = new MemberData();
					}
					input.ReadMessage(this.BasicInfo);
				}
			}
		}

		// Token: 0x0400306C RID: 12396
		private static readonly MessageParser<MemberInfo> _parser = new MessageParser<MemberInfo>(() => new MemberInfo());

		// Token: 0x0400306D RID: 12397
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400306E RID: 12398
		public const int BasicInfoFieldNumber = 1;

		// Token: 0x0400306F RID: 12399
		private MemberData basicInfo_;

		// Token: 0x04003070 RID: 12400
		public const int StatusInfoFieldNumber = 2;

		// Token: 0x04003071 RID: 12401
		private PlayerStatusInfo statusInfo_;

		// Token: 0x04003072 RID: 12402
		public const int StageInfoFieldNumber = 3;

		// Token: 0x04003073 RID: 12403
		private PlayerExtraInfo stageInfo_;
	}
}
